Document collaboration and online collaborative environments that allow for multiple users to view and edit a single document are becoming more widespread. In certain settings, such as word processing or spreadsheets, where layouts and page structure are fixed or otherwise dictated by the application, changes to a document may be expressed as a one-dimensional array. Techniques such as Operational Transforms (OT) can easily handle mutations on linear layout data simply by shifting the concurrent edits along a single dimension. However, when changes are made to page layout or structure, such changes must be expressed in a 2-dimensional array. However, the handling of 2-dimensional layout data is more challenging. This because it is often difficult to address the content in a consistent manner, and also because complex interactions between components may arise from simple changes, even in systems with very well defined behavior.